<!--
*
* Copyright 2015 HISP Tanzania
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
* @since 2015
* @author Joseph Chingalo profschingalo@gmail.com>
*
*
-->
<ion-item>
  <ion-icon name="ios-add-circle-outline" (tap)="toggleOrganisationUnit(organisationUnit)" *ngIf="(organisationUnit && organisationUnit.children && organisationUnit.children.length>0) && !hasOrgUnitChildrenOpened[organisationUnit.id]"
    item-left></ion-icon>
  <ion-icon name="ios-remove-circle-outline" (tap)="toggleOrganisationUnit(organisationUnit)" *ngIf="(organisationUnit && organisationUnit.children && organisationUnit.children.length>0) && hasOrgUnitChildrenOpened[organisationUnit.id]"
    item-left></ion-icon>

  <div (tap)="setSelectedOrganisationUnit(organisationUnit)">
    <span ion-text [color]="( ouIdsWithAssigments && ouIdsWithAssigments.length > 0 && ouIdsWithAssigments.indexOf(organisationUnit.id)  == -1 )? 'ou-assigment-issues' : (currentSelectedOrgUnitName == organisationUnit.name) ?'current' : 'font-color'">{{ organisationUnit.name }}</span>
  </div>

</ion-item>
<div *ngIf="hasOrgUnitChildrenOpened[organisationUnit.id]" padding-left>

  <div *ngIf="!(isOrganisationUnitsFetched && hasOrgUnitChildrenLoaded)">
    <ion-item>
      <div style="text-align: center" item-left>
        <loading loadingSize="small"></loading>
      </div>
      <span>
        {{ translationMapper['Discovering organisation units']}}
      </span>
    </ion-item>
  </div>

  <div *ngIf="hasErrorOccurred">
    <ion-item>
      {{ translationMapper['Failed to discover organisation unit children']}}
    </ion-item>
  </div>

  <div *ngIf="isOrganisationUnitsFetched && hasOrgUnitChildrenLoaded && !hasErrorOccurred">
    <div *ngFor="let child of organisationUnit.children;trackBy: trackByFn">
      <organisation-unit-tree [organisationUnit]="child" [currentSelectedOrgUnitName]="currentSelectedOrgUnitName" [ouIdsWithAssigments]="ouIdsWithAssigments"
        [hasOrgUnitChildrenOpened]="hasOrgUnitChildrenOpened" (selectedOrganisationUnit)="setSelectedOrganisationUnit($event)"
        [currentUser]="currentUser"></organisation-unit-tree>

    </div>
  </div>
</div>
